package com.liuf.quartz.repository;

import com.liuf.quartz.domain.ScheduleJob;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @program: spring-cloud-liuf-master
 * @description: Job 持久层操作
 * @author: Mr.Liu
 * @create: 2018-08-30 11:14
 * @码云： https://gitee.com/www.jiandan.com
 **/
public interface IJobRepository {

    /**
     * 根据主键获取任务信息
     * @param id    主键
     * @return  ScheduleJob
     */
    ScheduleJob select(@Param("id") long id);

    /**
     * 更新任务基础信息
     * @param scheduleJob   任务信息
     * @return  int
     */
    Integer update(ScheduleJob scheduleJob);

    /**
     * 新增任务基础信息
     * @param scheduleJob   任务信息
     * @return  int
     */
    Integer insert(ScheduleJob scheduleJob);

    /**
     * 删除任务基础信息
     * @param productId 任务主键
     * @return  int
     */
    Integer delete(Long productId);

    /**
     * 获取任务信息列表
     * @return  List
     */
    List<ScheduleJob> getAllJob();

    /**
     * 获取开启的任务列表
     * @return  list
     */
    List<ScheduleJob> getAllEnableJob();
}
